ããªããŒããããªãã§ãããããªã³ãã¯ããªã©ã®ãªãœãŒã¹ãã³ãã䜿çšããŠããŠã§ããµã€ãã®èªã¿èŸŒã¿æéãæé©åããã°ããŒãã«ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããæ¹æ³ãåŠã³ãŸãããã
ãªãœãŒã¹ãã³ãã§ãŠã§ããµã€ãã®é床ãåäžãããïŒããªããŒããããªãã§ãããããªã³ãã¯ã
仿¥ã®ããŒã¹ã®éãããžã¿ã«äžçã§ã¯ããŠã§ããµã€ãã®é床ãæãéèŠã§ãããŠãŒã¶ãŒã¯ããŠã§ããµã€ããè¿
éã«èªã¿èŸŒãŸããå³åº§ã«å¿çããããšãæåŸ
ããŠããŸããèªã¿èŸŒã¿ãé
ããšããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæªåããçŽåž°çãé«ããªããæçµçã«ã¯ããžãã¹ã®æå€±ã«ã€ãªãããŸãããªãœãŒã¹ãã³ãã¯ãéçºè
ããã©ãŠã¶ã«ã©ã®ãªãœãŒã¹ãéèŠã§ãã©ã®ããã«åªå
é äœãä»ããããäŒããããšã§ããŠã§ããµã€ãã®èªã¿èŸŒã¿æéãæé©åããã®ã«åœ¹ç«ã€åŒ·åãªããŒã«ã§ãããã®èšäºã§ã¯ã3ã€ã®äž»èŠãªãªãœãŒã¹ãã³ãã§ããpreload
ãprefetch
ãpreconnect
ã調æ»ããå®è£
ã®ããã®å®è·µçãªäŸãæäŸããŸãã
ãªãœãŒã¹ãã³ãã®çè§£
ãªãœãŒã¹ãã³ãã¯ããŠã§ãããŒãžãå¿ èŠãšãããªãœãŒã¹ã«ã€ããŠãã©ãŠã¶ã«æç€ºãããã£ã¬ã¯ãã£ãã§ããããã«ãããéçºè ã¯ãã©ãŠã¶ã«ã¯ãªãã£ã«ã«ãªãœãŒã¹ãäºåã«éç¥ã§ãããã©ãŠã¶ã¯éåžžãããæ©ãããããååŸãŸãã¯æ¥ç¶ã§ããããã«ãªããŸããããã«ãããèªã¿èŸŒã¿æéãå€§å¹ ã«ççž®ããç¥èŠãããããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸãã
3ã€ã®äž»èŠãªãªãœãŒã¹ãã³ãã¯æ¬¡ã®ãšããã§ãã
- ããªããŒãïŒåæããŒãžèªã¿èŸŒã¿ã«å¿ èŠãªã¯ãªãã£ã«ã«ãªãœãŒã¹ãååŸããŸãã
- ããªãã§ããïŒå°æ¥ã®ããã²ãŒã·ã§ã³ãŸãã¯ã€ã³ã¿ã©ã¯ã·ã§ã³ã§å¿ èŠãšãªãå¯èœæ§ãé«ããªãœãŒã¹ãååŸããŸãã
- ããªã³ãã¯ãïŒéèŠãªãµãŒãããŒãã£ãµãŒããŒãžã®æ©ææ¥ç¶ã確ç«ããŸãã
ããªããŒãïŒã¯ãªãã£ã«ã«ãªãœãŒã¹ã®åªå é äœä»ã
ããªããŒããšã¯ïŒ
Preload
ã¯å®£èšçãªãã§ããã§ããããã©ãŠã¶ã«çŸåšã®ããã²ãŒã·ã§ã³ã«å¿
èŠãªãªãœãŒã¹ãã§ããã ãæ©ãååŸããããã«æç€ºã§ããŸããããã¯ãCSSãŸãã¯JavaScriptãä»ããŠèªã¿èŸŒãŸããç»åããã©ã³ããã¹ã¯ãªããããŸãã¯ã¹ã¿ã€ã«ã·ãŒãã®ããã«ããã©ãŠã¶ã«ãã£ãŠæ€åºãé
ãããªãœãŒã¹ã«ç¹ã«åœ¹ç«ã¡ãŸãããããã®ãªãœãŒã¹ãããªããŒãããããšã«ãããã¬ã³ããªã³ã°ããããã¯ããã®ãé²ãããŠã§ããµã€ãã®ç¥èŠãããèªã¿èŸŒã¿é床ãåäžãããããšãã§ããŸãã
ããªããŒãã®äœ¿çšææ
preload
ã¯ä»¥äžã«äœ¿çšããŸãã
- ãã©ã³ãïŒã«ã¹ã¿ã ãã©ã³ããæ©æã«èªã¿èŸŒãããšã§ããã©ãã·ã¥ã»ãªãã»ã¢ã³ã€ã³ã¹ããŒã«ãã»ããã¹ãïŒFOUTïŒãŸãã¯ãã©ãã·ã¥ã»ãªãã»ã€ã³ããžãã«ã»ããã¹ãïŒFOITïŒãé²ãããšãã§ããŸãã
- ç»åïŒã¢ããã»ã¶ã»ãã©ãŒã«ãïŒç»é¢ã®äžéšè¡šç€ºé åïŒã®ç»åãåªå ããããšã§ãããããè¿ éã«èªã¿èŸŒãŸããåæãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžããŸãã
- ã¹ã¯ãªãããšã¹ã¿ã€ã«ã·ãŒãïŒã¯ãªãã£ã«ã«ãªCSSãŸãã¯JavaScriptãã¡ã€ã«ãæ©æã«èªã¿èŸŒãããšã§ãã¬ã³ããªã³ã°ãããã¯ãé²ããŸãã
- ã¢ãžã¥ãŒã«ãšWeb WorkerïŒã¢ãžã¥ãŒã«ãŸãã¯Web WorkerãããªããŒãããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®å¿çæ§ãåäžãããããšãã§ããŸãã
ããªããŒãã®å®è£ æ¹æ³
HTMLããã¥ã¡ã³ãã®<head>
ã»ã¯ã·ã§ã³ã§<link>
ã¿ã°ã䜿çšããŠpreload
ãå®è£
ã§ããŸãã
<link rel="preload" href="/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/styles/critical.css" as="style">
<link rel="preload" href="/scripts/app.js" as="script">
<link rel="preload" href="/images/hero.jpg" as="image">
説æïŒ
rel="preload"
ïŒãã©ãŠã¶ããªãœãŒã¹ãããªããŒãããããã«æå®ããŸããhref="/path/to/resource"
ïŒããªããŒããããªãœãŒã¹ã®URLãas="type"
ïŒããªããŒããããªãœãŒã¹ã®ã¿ã€ãïŒäŸïŒfontãstyleãscriptãimageïŒãæå®ããŸããas
屿§ã¯å¿ é ã§ããããã©ãŠã¶ããªãœãŒã¹ãé©åã«åªå é äœä»ãããŠåŠçããããã«äžå¯æ¬ ã§ããæ£ããas
å€ã䜿çšããããšã§ããã©ãŠã¶ãæ£ããã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒïŒCSPïŒãé©çšããæ£ããAccept
ããããŒãéä¿¡ããããšãä¿èšŒãããŸããtype="mime/type"
ïŒïŒãªãã·ã§ã³ã§ããæšå¥šïŒãªãœãŒã¹ã®MIMEã¿ã€ããæå®ããŸããããã«ãããç¹ã«ãã©ã³ãã®å Žåããã©ãŠã¶ã¯æ£ãããªãœãŒã¹åœ¢åŒãéžæããã®ã«åœ¹ç«ã¡ãŸããcrossorigin="anonymous"
ïŒïŒç°ãªããªãªãžã³ããèªã¿èŸŒãŸãããã©ã³ãã«å¿ é ïŒãªã¯ãšã¹ãã®CORSã¢ãŒããæå®ããŸãã CDNãããã©ã³ããèªã¿èŸŒãã§ããå Žåã¯ããã®å±æ§ãå¿ èŠã«ãªãå¯èœæ§ãé«ãã§ãã
äŸïŒãã©ã³ãã®ããªããŒã
ãŠã§ããµã€ãã§äœ¿çšãããã«ã¹ã¿ã ãã©ã³ããOpenSansãããããšããŸããããªããŒãããªãå Žåããã©ãŠã¶ã¯CSSãã¡ã€ã«ãè§£æããåŸã«ã®ã¿ãã®ãã©ã³ããæ€åºããŸããããã«ãããæ£ãããã©ã³ãã§ããã¹ããã¬ã³ããªã³ã°ããã®ã«é å»¶ãçããå¯èœæ§ããããŸãããã©ã³ããããªããŒãããããšã§ããã®é å»¶ãè§£æ¶ã§ããŸãã
<link rel="preload" href="/fonts/OpenSans-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
äŸïŒã¯ãªãã£ã«ã«CSSãã¡ã€ã«ã®ããªããŒã
ãŠã§ããµã€ãã«åæè¡šç€ºã®ã¬ã³ããªã³ã°ã«äžå¯æ¬ ãªã¯ãªãã£ã«ã«CSSãã¡ã€ã«ãããå ŽåããããããªããŒãããããšã§ç¥èŠãããããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããããšãã§ããŸãã
<link rel="preload" href="/styles/critical.css" as="style">
ããªããŒãã®ãã¹ããã©ã¯ãã£ã¹
- ã¯ãªãã£ã«ã«ãªãœãŒã¹ã®åªå é äœä»ãïŒåæããŒãžèªã¿èŸŒã¿ã«äžå¯æ¬ ãªãªãœãŒã¹ã®ã¿ãããªããŒãããŠãã ãããããªããŒãã®ä¹±çšã¯ããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããå¯èœæ§ããããŸãã
- æ£ãã
as
屿§ã®äœ¿çšïŒãã©ãŠã¶ããªãœãŒã¹ãæ£ããåŠçããããã«ãåžžã«æ£ããas
屿§ãæå®ããŠãã ããã type
屿§ãå«ããïŒãã©ãŠã¶ãæ£ãããªãœãŒã¹åœ¢åŒãéžæã§ããããã«ãtype
屿§ãå«ããŠãã ããã- ã¯ãã¹ãªãªãžã³ãã©ã³ãã®å Žåã¯
crossorigin
ã䜿çšïŒç°ãªããªãªãžã³ãããã©ã³ããèªã¿èŸŒãå Žåã¯ãcrossorigin
屿§ãå«ããããã«ããŠãã ããã - ããã©ãŒãã³ã¹ã®ãã¹ãïŒåžžã«ããªããŒãã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ããã¹ãããŠãå®éã«èªã¿èŸŒã¿æéãæ¹åããŠããããšã確èªããŠãã ãããGoogle PageSpeed InsightsãWebPageTestãªã©ã®ããŒã«ã䜿çšããŠã圱é¿ã枬å®ããŠãã ããã
ããªãã§ããïŒå°æ¥ã®ããŒãºãäºæž¬ãã
ããªãã§ãããšã¯ïŒ
Prefetch
ã¯ãå°æ¥ã®ããã²ãŒã·ã§ã³ãŸãã¯ã€ã³ã¿ã©ã¯ã·ã§ã³ã§å¿
èŠãšãªãå¯èœæ§ãé«ããªãœãŒã¹ããã©ãŠã¶ã«ååŸããããã«æç€ºãããªãœãŒã¹ãã³ãã§ããçŸåšã®ããŒãžã«å¿
èŠãªãªãœãŒã¹ã«çŠç¹ãåœãŠãpreload
ãšã¯ç°ãªããprefetch
ã¯ãŠãŒã¶ãŒã®æ¬¡ã®åããäºæž¬ããŸããããã¯ãåŸç¶ã®ããŒãžãã³ã³ããŒãã³ãã®èªã¿èŸŒã¿é床ãåäžãããã®ã«ç¹ã«åœ¹ç«ã¡ãŸãã
ããªãã§ããã®äœ¿çšææ
prefetch
ã¯ä»¥äžã«äœ¿çšããŸãã
- 次ã®ããŒãžã®ãªãœãŒã¹ïŒãŠãŒã¶ãŒã次ã«ç¹å®ã®ããŒãžã«ç§»åããå¯èœæ§ãé«ãããšãããã£ãŠããå Žåã¯ããã®ãªãœãŒã¹ãããªãã§ããããŸãã
- ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãªãœãŒã¹ïŒãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãç¹å®ã®ãªãœãŒã¹ã®èªã¿èŸŒã¿ãããªã¬ãŒããå ŽåïŒäŸïŒã¢ãŒãã«ãŠã£ã³ããŠããã©ãŒã ïŒããããã®ãªãœãŒã¹ãããªãã§ããããŸãã
- ä»ã®ããŒãžã®ç»åãšã¢ã»ããïŒãŠãŒã¶ãŒã蚪åããå¯èœæ§ã®ããä»ã®ããŒãžã§äœ¿çšãããç»åãŸãã¯ã¢ã»ãããããªããŒãããŸãã
ããªãã§ããã®å®è£ æ¹æ³
HTMLããã¥ã¡ã³ãã®<head>
ã»ã¯ã·ã§ã³ã§<link>
ã¿ã°ã䜿çšããŠprefetch
ãå®è£
ã§ããŸãã
<link rel="prefetch" href="/page2.html">
<link rel="prefetch" href="/images/product.jpg">
<link rel="prefetch" href="/scripts/modal.js">
説æïŒ
rel="prefetch"
ïŒãã©ãŠã¶ããªãœãŒã¹ãããªãã§ããããããã«æå®ããŸããhref="/path/to/resource"
ïŒããªãã§ãããããªãœãŒã¹ã®URLã
äŸïŒæ¬¡ã®ããŒãžã®ããªãã§ãã
ãŠã§ããµã€ãã«è€æ°ã¹ãããã®ãã©ãŒã ã®ãããªæç¢ºãªãŠãŒã¶ãŒãããŒãããå ŽåãçŸåšã®ã¹ãããã§ãŠãŒã¶ãŒã次ã®ã¹ãããã«ç§»åããéã«ã次ã®ã¹ãããã®ãªãœãŒã¹ãããªãã§ããã§ããŸãã
<link rel="prefetch" href="/form/step2.html">
äŸïŒã¢ãŒãã«ãŠã£ã³ããŠã®ãªãœãŒã¹ã®ããªãã§ãã
ãŠã§ããµã€ãã§ã¢ãŒãã«ãŠã£ã³ããŠã䜿çšãããŠãããéããããšãã«ããã«ãªãœãŒã¹ãèªã¿èŸŒãå ŽåããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãã¹ã ãŒãºã«ããããã«ãããã®ãªãœãŒã¹ãããªãã§ããã§ããŸãã
<link rel="prefetch" href="/scripts/modal.js">
<link rel="prefetch" href="/styles/modal.css">
ããªãã§ããã®ãã¹ããã©ã¯ãã£ã¹
- æ§ããã«äœ¿çšïŒããªãã§ããã¯ããŠãŒã¶ãŒãããªãã§ããããããªãœãŒã¹ãå¿ èŠãšããªãå Žåã§ãã垯åå¹ ãšãªãœãŒã¹ãæ¶è²»ããå¯èœæ§ããããããæ§ããã«äœ¿çšããå¿ èŠããããŸãã
- å¯èœæ§ã®é«ãããã²ãŒã·ã§ã³ãåªå ïŒæãå¯èœæ§ã®é«ãããŒãžãŸãã¯ã€ã³ã¿ã©ã¯ã·ã§ã³ã®ãªãœãŒã¹ãããªãã§ããããŸãã
- ãããã¯ãŒã¯æ¡ä»¶ã®èæ ®ïŒããªãã§ããã¯ãå®å®ããé«éãªã€ã³ã¿ãŒãããæ¥ç¶ãæã€ãŠãŒã¶ãŒã«æé©ã§ããäœéãŸãã¯åŸéå¶èª²éæ¥ç¶ã®ãŠãŒã¶ãŒã«å¯ŸããŠå€§ããªãªãœãŒã¹ãããªãã§ããããããšã¯é¿ããŠãã ããããããã¯ãŒã¯æ å ±APIã䜿çšããŠããŠãŒã¶ãŒã®æ¥ç¶ã¿ã€ããæ€åºããããªãã§ããã調æŽã§ããŸãã
- ããã©ãŒãã³ã¹ã®ç£èŠïŒããªãã§ããããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã«äžãã圱é¿ãç£èŠããŠãæ£å³ã®ã¡ãªãããæäŸããŠããããšã確èªããŠãã ããã
- åçããªãã§ããã®æŽ»çšïŒãŠãŒã¶ãŒã®è¡åãšåæããŒã¿ã«åºã¥ããŠåçã«ããªãã§ãããå®è£ ããŸããããšãã°ãçŸåšããŒãžã«ãããŠãŒã¶ãŒãé »ç¹ã«èšªåããããŒãžã®ãªãœãŒã¹ãããªãã§ããããŸãã
ããªã³ãã¯ãïŒæ©ææ¥ç¶ã®ç¢ºç«
ããªã³ãã¯ããšã¯ïŒ
Preconnect
ã¯ãéèŠãªãµãŒãããŒãã£ãµãŒããŒãšã®æ©ææ¥ç¶ã確ç«ã§ãããªãœãŒã¹ãã³ãã§ããæ¥ç¶ã®ç¢ºç«ã«ã¯ãDNSã«ãã¯ã¢ãããTCPãã³ãã·ã§ã€ã¯ãTLSããŽã·ãšãŒã·ã§ã³ãªã©ãããã€ãã®ã¹ããããå«ãŸããŸãããããã®ã¹ãããã¯ããããã®ãµãŒããŒããã®ãªãœãŒã¹ã®èªã¿èŸŒã¿ã«ããªãã®é
å»¶ã远å ããå¯èœæ§ããããŸããPreconnect
ã䜿çšãããšããããã®ã¹ããããããã¯ã°ã©ãŠã³ãã§éå§ã§ããããããã©ãŠã¶ããµãŒããŒãããªãœãŒã¹ãååŸããå¿
èŠããããšãã«ãæ¥ç¶ããã§ã«ç¢ºç«ãããŠããŸãã
ããªã³ãã¯ãã®äœ¿çšææ
preconnect
ã¯ä»¥äžã«äœ¿çšããŸãã
- ãµãŒãããŒãã£ãµãŒããŒïŒãã©ã³ããCDNãAPIããŸãã¯ãŠã§ããµã€ããäŸåãããã®ä»ã®ãªãœãŒã¹ããã¹ããããµãŒããŒã
- é »ç¹ã«äœ¿çšããããµãŒããŒïŒãŠã§ããµã€ããé »ç¹ã«ã¢ã¯ã»ã¹ãããµãŒããŒã
ããªã³ãã¯ãã®å®è£ æ¹æ³
HTMLããã¥ã¡ã³ãã®<head>
ã»ã¯ã·ã§ã³ã§<link>
ã¿ã°ã䜿çšããŠpreconnect
ãå®è£
ã§ããŸãã
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://cdn.example.com">
説æïŒ
rel="preconnect"
ïŒãã©ãŠã¶ããµãŒããŒã«ããªã³ãã¯ãããããã«æå®ããŸããhref="https://example.com"
ïŒããªã³ãã¯ããããµãŒããŒã®URLãcrossorigin
ïŒïŒãªãã·ã§ã³ã§ãããCORSã§èªã¿èŸŒãŸãããªãœãŒã¹ã«ã¯å¿ é ïŒæ¥ç¶ã«CORSãå¿ èŠã§ããããšãæå®ããŸãã
äŸïŒGoogle Fontsãžã®ããªã³ãã¯ã
ãŠã§ããµã€ããGoogle Fontsã䜿çšããŠããå Žåãhttps://fonts.gstatic.com
ã«ããªã³ãã¯ãããããšã§ããã©ã³ãèªã¿èŸŒã¿ã®é
å»¶ã倧å¹
ã«æžããããšãã§ããŸãã
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
Google Fontsã¯ãã©ã³ããæäŸããããã«CORSã䜿çšãããããããã§ã®crossorigin
屿§ã¯éèŠã§ãã
äŸïŒCDNãžã®ããªã³ãã¯ã
ãŠã§ããµã€ããCDNã䜿çšããŠéçã¢ã»ãããæäŸããŠããå ŽåãCDNã®ãã¹ãåã«ããªã³ãã¯ãããããšã§ããããã®ã¢ã»ããã®èªã¿èŸŒã¿é å»¶ãæžããããšãã§ããŸãã
<link rel="preconnect" href="https://cdn.example.com">
ããªã³ãã¯ãã®ãã¹ããã©ã¯ãã£ã¹
- è³¢æã«äœ¿çšïŒå€ãã®ãµãŒããŒã«ããªã³ãã¯ããããšããã©ãŠã¶ãæ¥ç¶ã確ç«ããããã®ãªãœãŒã¹ãéãããŠãããããããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãã
- éèŠãªãµãŒããŒãåªå ïŒãŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã«ãšã£ãŠæãéèŠãªãµãŒããŒã«ããªã³ãã¯ãããŸãã
- DNSããªãã§ããã®æ€èšïŒå®å
šãªããªã³ãã¯ãã¯å¿
èŠãªãããDNSãæ©æã«è§£æ±ºããããµãŒããŒã®å Žåã¯ã
<link rel="dns-prefetch" href="https://example.com">
ã®äœ¿çšãæ€èšããŠãã ãããDNSããªãã§ããã¯DNSã«ãã¯ã¢ããã®ã¿ãå®è¡ããå®å šãªããªã³ãã¯ãããããªãœãŒã¹æ¶è²»ãå°ãªããªããŸãã - ããã©ãŒãã³ã¹ã®ãã¹ãïŒåžžã«ããªã³ãã¯ãã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ããã¹ãããŠãæ£å³ã®ã¡ãªãããæäŸããŠããããšã確èªããŠãã ããã
- ä»ã®ãªãœãŒã¹ãã³ããšã®çµã¿åããïŒæé©ãªããã©ãŒãã³ã¹ãéæããããã«ãããªããŒãããã³ããªãã§ãããšçµã¿åãããŠããªã³ãã¯ãã䜿çšããŸããããšãã°ããã©ã³ãããã¹ããããµãŒããŒã«ããªã³ãã¯ãããæ¬¡ã«ãã©ã³ããã¡ã€ã«ãããªããŒãããŸãã
æé©ãªããã©ãŒãã³ã¹ã®ããã®ãªãœãŒã¹ãã³ãã®çµã¿åãã
ãªãœãŒã¹ãã³ãã®çã®åã¯ãããããæŠç¥çã«çµã¿åãããããšã«ãããŸãã以äžã«å®çšçãªäŸã瀺ããŸãã
CDNã§ãã¹ããããŠããã«ã¹ã¿ã ãã©ã³ãã䜿çšããã¯ãªãã£ã«ã«ãªJavaScriptãã¡ã€ã«ãèªã¿èŸŒããŠã§ããµã€ããæ³åããŠãã ããã
- CDNãžã®ããªã³ãã¯ãïŒãã©ã³ããšJavaScriptãã¡ã€ã«ããã¹ãããCDNãžã®æ©ææ¥ç¶ã確ç«ããŸãã
<link rel="preconnect" href="https://cdn.example.com" crossorigin>
- ãã©ã³ãã®ããªããŒãïŒFOUTãé²ãããã«ãã©ã³ãã®èªã¿èŸŒã¿ãåªå
ããŸãã
<link rel="preload" href="https://cdn.example.com/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
- JavaScriptãã¡ã€ã«ã®ããªããŒãïŒJavaScriptãã¡ã€ã«ãå¿
èŠãªãšãã«å©çšã§ããããã«ããã®èªã¿èŸŒã¿ãåªå
ããŸãã
<link rel="preload" href="https://cdn.example.com/scripts/app.js" as="script">
ãªãœãŒã¹ãã³ãåæããŒã«
ããã€ãã®ããŒã«ã¯ããªãœãŒã¹ãã³ãã®å¹æãåæããã®ã«åœ¹ç«ã¡ãŸãã
- Google PageSpeed InsightsïŒãªãœãŒã¹ãã³ãã®äœ¿çšãå«ãããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãæé©åããããã®æšå¥šäºé ãæäŸããŸãã
- WebPageTestïŒããŸããŸãªå Žæãšãããã¯ãŒã¯æ¡ä»¶ãããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ããã¹ãã§ããŸãã
- Chrome DevToolsïŒChrome DevToolsã®ãããã¯ãŒã¯ããã«ã¯ããªãœãŒã¹èªã¿èŸŒã¿ã®ã¿ã€ãã³ã°ã衚瀺ããæé©åã®æ©äŒãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
- LighthouseïŒWebããŒãžã®åè³ªãæ¹åããããã®èªååãããããŒã«ã§ããããã©ãŒãã³ã¹ãã¢ã¯ã»ã·ããªãã£ãããã°ã¬ãã·ããŠã§ãã¢ããªãSEOãªã©ã®ç£æ»ããããŸãã
äžè¬çãªèœãšã穎ãšåé¿ç
- ãªãœãŒã¹ãã³ãã®ä¹±çšïŒãªãœãŒã¹ãã³ãã䜿ãããããšãããã©ãŒãã³ã¹ã«æªåœ±é¿ãäžããå¯èœæ§ããããŸããæãã¯ãªãã£ã«ã«ãªãªãœãŒã¹ã«çŠç¹ãåœãŠãŠãã ããã
- äžæ£ç¢ºãª
as
屿§ïŒããªããŒãã®as
屿§ãééã£ãŠäœ¿çšãããšããªãœãŒã¹ãæ£ããèªã¿èŸŒãŸããªããªãå¯èœæ§ããããŸãã - CORSã®ç¡èŠïŒç°ãªããªãªãžã³ãããªãœãŒã¹ãèªã¿èŸŒãéã«
crossorigin
屿§ãå«ããªããšãèªã¿èŸŒã¿ãšã©ãŒãçºçããå¯èœæ§ããããŸãã - ããã©ãŒãã³ã¹ã®ãã¹ããããªãïŒåžžã«ãªãœãŒã¹ãã³ãã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ããã¹ãããŠãæ£å³ã®ã¡ãªãããæäŸããŠããããšã確èªããŠãã ããã
- äžæ£ç¢ºãªãã¹ïŒãªãœãŒã¹ãã³ãã«æå®ããããã¹ãŠã®ãã¡ã€ã«ãã¹ãšURLãæ£ããããšãå確èªããŠãã ãããããã§ãªãå Žåããšã©ãŒãçºçããŸãã
ãªãœãŒã¹ãã³ãã®å°æ¥
ãªãœãŒã¹ãã³ãã¯åžžã«é²åããŠããããã©ãŠã¶ä»æ§ã«æ°ããæ©èœãæ¹åã远å ãããŠããŸãããªãœãŒã¹ãã³ãã®ææ°ã®éçºååãææ¡ããããšã§ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãããã«æé©åã§ããŸããããšãã°ãmodulepreload
ã¯JavaScriptã¢ãžã¥ãŒã«ã®ããªããŒãå°çšã®æ°ãããªãœãŒã¹ãã³ãã§ãããŸãããªãœãŒã¹ãã³ãã®priority
屿§ã«ãããä»ã®ãªãœãŒã¹ã«å¯ŸãããªãœãŒã¹ã®åªå
é äœãæå®ã§ããŸãããããã®æ©èœã®ãã©ãŠã¶ãµããŒãã¯ãŸã é²åããŠãããããå®è£
ããåã«äºææ§ã確èªããŠãã ããã
çµè«
ãªãœãŒã¹ãã³ãã¯ããŠã§ããµã€ãã®èªã¿èŸŒã¿æéãæé©åãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããã®åŒ·åãªããŒã«ã§ããpreload
ãprefetch
ãpreconnect
ãæŠç¥çã«äœ¿çšããããšã§ããã©ãŠã¶ã«ã¯ãªãã£ã«ã«ãªãœãŒã¹ãäºåã«éç¥ããé
å»¶ãåæžãããŠã§ããµã€ãã®ç¥èŠãããããã©ãŒãã³ã¹ãåäžãããããšãã§ããŸããã¯ãªãã£ã«ã«ãªãœãŒã¹ãåªå
ãããªãœãŒã¹ãã³ããè³¢æã«äœ¿çšããåžžã«å€æŽã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ããã¹ãããããšãå¿ããªãã§ãã ããããã®èšäºã§æŠèª¬ãããŠãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ããŠã§ããµã€ãã®ããã©ãŒãã³ã¹ã倧å¹
ã«åäžãããäžçäžã®ãŠãŒã¶ãŒã«åªãããšã¯ã¹ããªãšã³ã¹ãæäŸã§ããŸãã